package com.salelogistics.sale.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.salelogistics.sale.domain.SmsDeliveryPlan;
import com.salelogistics.sale.domain.vo.DeliveryPlanVo;
import org.apache.ibatis.annotations.Mapper;

/**
 * 月配送计划Mapper接口
 *
 * @author Hu Kangying
 * @date 2023-07-13
 */
public interface SmsDeliveryPlanMapper extends BaseMapper<SmsDeliveryPlan> {
    /**
     * 查询月配送计划
     *
     * @param planId 月配送计划主键
     * @return 月配送计划
     */
    public SmsDeliveryPlan selectSmsDeliveryPlanByPlanId(Long planId);

    /**
     * 查询月配送计划列表
     *
     * @param smsDeliveryPlan 月配送计划
     * @return 月配送计划集合
     */
    public List<SmsDeliveryPlan> selectSmsDeliveryPlanList(SmsDeliveryPlan smsDeliveryPlan);

    public List<DeliveryPlanVo> queryDeliveryPlanList(SmsDeliveryPlan smsDeliveryPlan);

    List<DeliveryPlanVo> queryDeliveryPlanListWithPlanId(Long planId);

    /**
     * 新增月配送计划
     *
     * @param smsDeliveryPlan 月配送计划
     * @return 结果
     */
    public int insertSmsDeliveryPlan(SmsDeliveryPlan smsDeliveryPlan);

    /**
     * 修改月配送计划
     *
     * @param smsDeliveryPlan 月配送计划
     * @return 结果
     */
    public int updateSmsDeliveryPlan(SmsDeliveryPlan smsDeliveryPlan);

    /**
     * 删除月配送计划
     *
     * @param planId 月配送计划主键
     * @return 结果
     */
    public int deleteSmsDeliveryPlanByPlanId(Long planId);

    /**
     * 批量删除月配送计划
     *
     * @param planIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSmsDeliveryPlanByPlanIds(Long[] planIds);
}
